A common function of a data communication system is to successfully send data “packets” containing desired information from a transmission point or node to a reception point or node. Before going further, it should be understood that the term “node” may indicate one or more hardware, software or firmware elements which may be combined or used separately to carry out transmission and/or reception of packets, etc. . . . . In order for such a system to perform efficiently, bits of information are grouped together to form an “upper layer frame”. Upper layer frames are then further subdivided or concatenated into packets, the basic units used for transmission in a communication network.
A communication network's efficiency is measured by how many packets it can successfully send from a transmission node to a reception node in a given time period. This measurement is known as a network's “throughput”. Another measure of network efficiency is the amount of time it takes for a packet to get from a transmission node to a reception node. This performance metric is known as “delay”. An ideal communication network will transmit the maximum amount of packets between network nodes in the least amount of time.
Several factors prevent both wire line and wireless communication networks from achieving ideal throughput and delay performance. Principally among them are transmission failures caused by interference, weak transmissions or faulty reception. One known technique used to minimize network transmission failures utilizes an Automatic Repeat Request (ARQ) retransmission method of error correction. ARQ retransmission uses a “reverse acknowledgement” channel. This channel can be a stand-alone channel or multiplexed with a “reverse data channel”. A reverse acknowledgement channel allows a reception node to provide a transmission node with the status of transmitted packets. These status messages are aptly called “acknowledgements”.
ARQ retransmission is used, for example, in a radio link control protocol developed for third generation, 3G communication networks (3G is short for third generation, 3GPP/UMTS radio link protocol communication networks). These networks support wireless bandwidth requirements for telephone calls, global positioning systems, email, Internet access, videoconferencing and streaming audio and video. Today, 3G networks allow data to be transmitted between a transmission node and reception node over a range of 8 kb/sec to 2 MB/sec. Future enhancements may enable 3G networks to transmit data up to 10 MB/sec. An efficient ARQ retransmission method is essential in order to maintain network protocol integrity for commercial applications, especially when it comes to 3G networks which require high data transfer rates.
Before describing the details of the present invention, it may be helpful to first present a simplified explanation of ARQ retransmission and how it applies to 3G networks.
Referring to FIG. 1, there is depicted a simplified block diagram of a conventional communication network 100 comprising a communications channel 110, an acknowledgement channel 112, a reception node 104 and a transmission node 102. In an existing ARQ retransmission method, the transmission node 102 is adapted to send packets stored in a memory unit 106, which can also be referred to as a transmission buffer, along the communication channel 110 to a reception memory unit 108, which can also be referred to as a reception buffer, for examination. Circuitry in the reception node 104 is adapted to examine the incoming packets in the reception memory unit 108 to determine whether they have been transmitted successfully, as further discussed below. If the reception node 104 receives a packet that contains corrupted data, the reception node 104 circuitry is adapted to send a status or acknowledgement message back to the transmission node 102 on the acknowledgement channel 112. More to the point, the reception node 104 will only be adapted to send an acknowledgement when corrupted data is received. This type of ARQ retransmission method is known in the art as a “negative” acknowledgement (NACK) method.
Alternatively, the reception node 104 may be adapted to send an acknowledgement via the acknowledgement channel 112 to the transmission node 102 only when it is determined that a packet sent via communication channel 110 has been received without errors. This type of ARQ retransmission method is known in the art as a “positive” acknowledgement method. In this method, the transmission node 102 is adapted to wait for a predetermined time period to receive an acknowledgement from the reception node 104. If an acknowledgement is not received within the predetermined time period, the transmission node 102 is adapted to retransmit the unacknowledged packet stored in the memory unit 106 to the reception node 104.
It is known in the art that positive and negative ARQ retransmission methods can be combined into a “general” ARQ retransmission method where acknowledgements are sent from a reception node to a transmission node on an acknowledgement channel for every previously transmitted packet in the memory unit. Based on the received acknowledgements, the transmission node will be adapted to determine whether a given previously transmitted packet stored in the memory unit needs to be retransmitted to the reception node. Generally, the transmission node is adapted to wait until it receives an acknowledgement before it makes any decision on whether to continue to hold previously transmitted packets in the memory unit or to clear the unit for the next incoming stream of packets.
As mentioned above, a specific use of a general ARQ retransmission method is in 3G networks. Within a so-called “protocol stack” of a 3G network, a radio link control (RLC) layer contains protocols (e.g., a series of set instructions) used to carry out ARQ retransmission. FIG. 2 is a simplified block diagram illustrating components of an RLC layer 200 relevant to our discussion. As shown, layer 200 comprises a transmission unit 202 and reception unit 210.
The path of a packet can be traced through the RLC layer 200. Upper layer(s) 102u send upper layer frames to the transmission unit 202 which is adapted to process such frames as follows. Before the upper layer frames can be transmitted, segmenting unit 204 is adapted to segment and/or concatenate them into packets. Thereafter, an RLC header unit 206 is adapted to add an RLC header to each packet. Packets are then placed in the memory unit 106 to wait for transmission. (Note that the memory unit may function as either a transmission or retransmission buffer and that these elements may be implemented either by one device, separate devices, platforms, programs or the like). A multiplexer circuit 208 is adapted to select which packets from memory unit 106 will be transmitted during a next “transmission time interval” (TTI) and to calculate when the selected packets will be submitted to a lower layer 1021 for actual transmission. If the memory unit 106 is implemented using separate transmission and retransmission elements, the selected packets can come from the transmission buffer element, retransmission buffer element or both.
In an alternative embodiment, a Medium Access Control (“MAC”) layer (not shown) determines the number of packets which can be transmitted per TTI and sends this information to RLC Layer 200 via pathway 300. Header unit 206 is then further adapted to set certain fields, which may represent a variety of protocol variables, within each packet selected for transmission.
Subsequently, selected packets are transmitted via transmission lower layer section 102l to reception lower layer 104l. 
The reception section 210 is adapted to receive transmitted packets from the reception lower layer 104l. An expansion unit 212 is adapted to expand the received packets into separate packets and to place them in a reception memory unit 108 until packets associated with an entire reconstructed upper layer frame have been received.
At this point, the reception section 210 is adapted to generate and send acknowledgements and status information on individual packets stored in the reception memory unit 108 to the transmission section 202 as follows. A transceiving unit 214 is adapted to analyze whether the packets within the reception memory unit 108 have been received without errors. The unit 214 is further adapted to send this information to a transmission unit 216 via reverse link 212.
Unit 216 is adapted to control a multiplexer circuit 208 in order to select packets for transmission during the next TTI. When packets are successfully received and acknowledged, a reception header unit 218 is adapted to remove the RLC header from each packet, reassemble the frame and to send a reassembled frame to upper layer 104u. For any retransmission protocol, where no retransmission is allowed unless a negative acknowledgement is received, protocol stalling or deadlock may happen if no spontaneous polling is implemented at the transmission node. Protocol stalling is a special situation where no transmission is allowed even though there are packets available at the transmission node. Protocol Stalling is typically caused by a number of factors, such as an insufficient transmission window size, a lost acknowledgement or infrequent acknowledgements.
Protocol stalling degrades network throughput and delays the transmission of packets.
Spontaneous polling techniques minimize incidents of protocol stalling. Generally, in a spontaneous polling technique a transmission node sends polling signals to a reception node when protocol stalling is detected. Spontaneous polling techniques operate together with other polling techniques in normal operation and only apply when the protocol stalling occurs. Existing RLC protocols indicate that spontaneous polling may be used, but fail to provide sufficient details so that a workable technique can be developed.
Therefore, there is a need in the art for spontaneous polling techniques which can be used in wireless and wire line communications networks to prevent protocol stalling.